home *** CD-ROM | disk | FTP | other *** search
/ Net Connect / NetConnect - Version 1.iso / install_netconnect < prev    next >
Text File  |  1997-03-17  |  24KB  |  808 lines

  1. ; $VER: Install-NetConnect 1.0 (08.12.96)
  2.  
  3. (complete 0)
  4.  
  5. (set lng         @language)
  6. (set app-name        @app-name)
  7. (set netconnect-name    (cat "NetConnect"))
  8. (set netconnect-dir    (cat "NetConnect"))
  9. (set atcp-name        (cat "AmiTCP"))
  10. (set atcp-dir        (cat "AmiTCP-4.5"))
  11. (set mui-name        (cat "MUI"))
  12. (set mui-dir        (cat "MUI"))
  13.  
  14. (welcome "    Welcome to the " app-name " installation.\n")
  15.  
  16. (set
  17.  need-version        37
  18.  
  19.  install-disk        ""
  20.  AmiTCP-pkt-file    (tackon install-disk "AmiTCP/AmiTCP.pkt")
  21.  Docs-pkt-file        (tackon install-disk "AmiTCP/AmiTCPDocs.pkt")
  22.  NapsaFonts-pkt-file    (tackon install-disk "AmiTCP/NapsaFonts.pkt")
  23.  dist-networks-dir    (tackon install-disk "AmiTCP/Devs/Networks")
  24.  dist-data-dir        (tackon install-disk "Data")
  25.  dist-mui-dir        (tackon install-disk "MUI")
  26.  dist-programs-dir    (tackon install-disk "Programs")
  27.  dist-docs-dir        (tackon install-disk "Docs")
  28.  dist-handler-dir    (tackon install-disk "L")
  29.  dist-libs-dir        (tackon install-disk "Libs")
  30.  dist-env-dir        (tackon install-disk "ENV")
  31.  dist-fonts-dir        (tackon install-disk "Fonts")
  32.  
  33.  UnPkt-file        (tackon install-disk "AmiTCP/UnPkt")
  34.  
  35.  netconnect-assign    (cat netconnect-name ":")
  36.  atcp-assign        (cat atcp-name ":")
  37.  mui-assign        (cat mui-name ":")
  38.  
  39.  conf-dir    (tackon atcp-assign "db")
  40.  bin-dir    (tackon atcp-assign "bin")
  41. )
  42.  
  43. (onerror
  44.  (if old-atcp-directory
  45.      (makeassign atcp-name old-atcp-directory))
  46.  (if old-netconnect-directory
  47.      (makeassign netconnect-name old-netconnect-directory))
  48.  (if old-mui-directory
  49.      (makeassign mui-name old-mui-directory))
  50. )
  51.  
  52.  
  53.  
  54. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  55. (procedure check-system-version
  56.  
  57.  (set exec-version (/ (getversion) 65536))
  58.  (transcript "Running on exec version " exec-version ".")
  59.  (if (< exec-version need-version)
  60.    ((transcript "Installation aborted due too old operating system.")
  61.    (abort "NetConnect requires at least operating system 2.04")))
  62. )
  63.  
  64.  
  65.  
  66. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  67. (procedure check-old-assign
  68.  
  69.  (transcript "Checking for already installed NetConnect.")
  70.  (set old-netconnect-directory 
  71.     (if (exists netconnect-assign (noreq))
  72.         (getassign netconnect-name)
  73.         ""))
  74.  (if old-netconnect-directory
  75.     (transcript "Existing NetConnect detected at directory " old-netconnect-directory "."))
  76.  
  77.  (transcript "Checking for already installed AmiTCP.")
  78.  (set old-atcp-directory 
  79.     (if (exists atcp-assign (noreq))
  80.         (getassign atcp-name)
  81.         ""))
  82.  (if old-atcp-directory
  83.     (transcript "Existing AmiTCP detected at directory " old-atcp-directory "."))
  84.  
  85.  (transcript "Checking for already installed MUI.")
  86.  (set old-mui-directory 
  87.     (if (exists mui-assign (noreq))
  88.         (getassign mui-name)
  89.         ""))
  90.  (if old-mui-directory
  91.     (transcript "Existing MUI detected at directory " old-mui-directory "."))
  92. )
  93.  
  94.  
  95.  
  96. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  97.  
  98. (procedure check-cpu-type
  99.  
  100.  (set cpu-type (database "cpu"))
  101.  (set cpu-is-020-or-better
  102.     (AND (<> cpu-type "68000")
  103.     (<> cpu-type "68010")))
  104. )
  105.  
  106.  
  107.  
  108. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  109. ;;
  110. ;; arguments:
  111. ;;
  112. ;;   unpkt-source      - the source archive
  113. ;;   unpkt-destination - the destination directory
  114. ;;   unpkt-sdp         - number of directories to strip
  115. ;;   unpkt-title-name  - descriptive name of the archive
  116. ;;   unpkt-title-not   - installation unit name
  117.  
  118. (procedure run-unpkt 
  119.  
  120.  (if (exists unpkt-source)
  121.     ((transcript "Dearchiving " unpkt-source " files to " unpkt-destination ".")
  122.         (working "Writing files to " unpkt-destination "...")
  123.         (if (= @pretend 0) 
  124.             ((if (run (cat UnPkt-file " "
  125.                 "\"" unpkt-source "\" "
  126.                 "\"" unpkt-destination "\""
  127.                 " SDP=" unpkt-sdp 
  128.                 " >\"CON:9/9/600/100/UnPkt Output/INACTIVE/AUTO\" "))
  129.             (abort "    UnPkt could not dearchive the " unpkt-source ". "
  130.                 "This may be due to:\n"
  131.                 "    * Not enough disk space\n"
  132.                 "    * Not enough memory\n"
  133.                 "    * Corrupted archive\n"
  134.                 "    * Corrupted UnPkt\n"))))
  135.     1)
  136.     ((transcript unpkt-source " could not be located, and is NOT installed!")
  137.         (message "\nWARNING\n\nCould not locate the " unpkt-title-name " archive.\n"
  138.             unpkt-title-not " is NOT installed!")
  139.     0)
  140.  )
  141. )
  142.  
  143.  
  144. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  145. (procedure copy-netc-files-to-destination
  146.  
  147.  (copyfiles
  148.     (prompt "Copy the NetConnect Controller & Prefs")
  149.     (help @copyfiles-help)
  150.     (source install-disk)
  151.     (choices "NetConnect" "NetConnectPrefs" "AmiTCPPrefs")
  152.     (dest netconnect-assign)
  153.     (infos)
  154.     (optional "nofail")
  155.  )
  156.  
  157.  (set tmp-var (tackon netconnect-assign "Data"))
  158.  (if (NOT (= 2 (exists tmp-var)))
  159.     (makedir tmp-var))
  160.  (copyfiles
  161.     (prompt "Copying images and other data files to:\n\n" tmp-var)
  162.     (help @copyfiles-help)
  163.     (source dist-data-dir)
  164.     (dest tmp-var)
  165.     (choices "Images" "Misc" "MailIn" "MailOut" "NewsIn" "NewsOut" "Download" "Upload")
  166.     (infos)
  167.     (optional "nofail"))
  168.  (copyfiles
  169.     (prompt "Copying .info for Data drawer to:\n\n" netconnect-assign)
  170.     (help @copyfiles-help)
  171.     (source install-disk)
  172.     (dest netconnect-assign)
  173.     (choices "Data.info")
  174.     (infos)
  175.     (optional "nofail" "force"))
  176.  
  177.  (copyfiles
  178.     (prompt "Copying documentation to:\n\n" (tackon netconnect-assign "Docs"))
  179.     (help @copyfiles-help)
  180.     (source install-disk)
  181.     (dest netconnect-assign)
  182.     (choices "Docs")
  183.     (infos)
  184.     (optional "nofail"))
  185.  
  186.  (copyfiles
  187.     (prompt "Copying fonts to:\n\n" "Fonts:")
  188.     (help @copyfiles-help)
  189.     (source dist-fonts-dir)
  190.     (dest "Fonts:")
  191.     (all)
  192.     (fonts)
  193.     (optional "nofail"))
  194.  
  195.  (copyfiles
  196.    (prompt "Copying env variables to:\n\nENVARC:")
  197.    (help @copyfiles-help)
  198.    (source dist-env-dir)
  199.    (dest "ENVARC:")
  200.    (pattern "~(NC.prefs)")
  201.    (confirm)
  202.    (optional "askuser"))
  203.  (copyfiles
  204.    (prompt "Copying env variables to:\n\nENV:")
  205.    (help @copyfiles-help)
  206.    (source dist-env-dir)
  207.    (dest "ENV:")
  208.    (pattern "~(NC.prefs)")
  209.    (optional "askuser")
  210.  )
  211.  (if (NOT (exists "ENV:NC.Prefs"))
  212.     (copyfiles
  213.       (prompt "Copying default NetConnect\npreference file to:\n\nENV:")
  214.       (help @copyfiles-help)
  215.       (source (tackon dist-env-dir "NC.prefs"))
  216.       (dest "ENV:")
  217.       (optional "nofail"))
  218.  )
  219.  (if (NOT (exists "ENVARC:NC.Prefs"))
  220.     (copyfiles
  221.       (prompt "Copying default NetConnect\npreference file to:\n\nENVARC:")
  222.       (help @copyfiles-help)
  223.       (source (tackon dist-env-dir "NC.prefs"))
  224.       (dest "ENVARC:")
  225.       (optional "nofail"))
  226.  )
  227.  
  228.  (foreach dist-handler-dir "#?"
  229.    (copylib
  230.      (prompt "Copying " @each-name " to:\n\nL:")
  231.      (help "You should copy all handlers if you want NetConnect to work correctly.")
  232.      (source (tackon dist-handler-dir @each-name))
  233.      (dest "L:")
  234.      (infos)
  235.      (optional "force")
  236.      (confirm)
  237.    )
  238.  )
  239.  
  240.  (foreach dist-libs-dir "#?"
  241.    (copylib
  242.      (prompt "Copying " @each-name " to:\n\nLibs:")
  243.      (help "You should copy all libraries if you want NetConnect to work correctly.")
  244.      (source (tackon dist-libs-dir @each-name))
  245.      (dest "Libs:")
  246.      (infos)
  247.      (optional "force")
  248.      (confirm)
  249.    )
  250.  )
  251.  
  252.  (if (askbool
  253.     (prompt "Would you like the \"NetConnect Controller\" to be copied into your WBStartup drawer ?")
  254.     (help "If you choose to copy NetConnect into your WBStartup drawer it will be started automatically everytime you reboot your Amiga.\n")
  255.     (default 1))
  256.     (copyfiles
  257.       (prompt "Copy the NetConnect Controller to:\n\nSYS:WBStartup")
  258.       (help @copyfiles-help)
  259.       (source install-disk)
  260.       (choices "NetConnect")
  261.       (dest "SYS:WBStartup")
  262.       (infos)
  263.       (optional "nofail")
  264.     )
  265.  )
  266. )
  267.  
  268.  
  269.  
  270. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  271. (procedure copy-atcp-files-to-destination
  272.  
  273.  (set 
  274.   unpkt-source        AmiTCP-pkt-file
  275.   unpkt-destination    atcp-dest
  276.   unpkt-sdp        1
  277.   unpkt-title-name    "AmiTCP/IP program"
  278.   unpkt-title-not    "AmiTCP/IP"
  279.   )
  280.  (if (run-unpkt)
  281.  (
  282.    (set 
  283.     unpkt-source    Docs-pkt-file
  284.     unpkt-destination    atcp-dest
  285.     unpkt-sdp        1
  286.     unpkt-title-name    "AmiTCP/IP Documentation"
  287.     unpkt-title-not    "AmiTCP/IP"
  288.    )
  289.    (run-unpkt)
  290.  
  291.  
  292.     (if (NOT (= 2 (exists (tackon atcp-assign "log"))))
  293.         (makedir (tackon atcp-assign "log")))
  294.     (if (NOT (= 1 (exists (tackon atcp-assign "log/wtmp"))))
  295.         (textfile (dest (tackon atcp-assign "log/wtmp"))))
  296.     (protect (tackon bin-dir "netstat") "+s +e")
  297.     (protect (tackon bin-dir "SynClock") "+s +e")
  298.     (protect (tackon bin-dir "stopnet") "+s +e")
  299.     (protect (tackon bin-dir "NapsaTerm") "+p +e")
  300.  
  301. ;;; set default user to "nobody" since it is already defined in AmiTCP:db/passwd
  302.  
  303. (textfile (dest "ENVARC:LOGNAME")
  304.     (append (cat "nobody"))
  305.     (safe)
  306. )
  307. (textfile (dest "ENV:LOGNAME")
  308.     (append (cat "nobody"))
  309.     (safe)
  310. )
  311.  
  312.   1)
  313.   0)
  314. )
  315.  
  316. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  317. (procedure copy-mui-files-to-destination
  318.  
  319.  (copyfiles
  320.     (prompt "Copying MUI to:\n\n" mui-assign)
  321.     (help @copyfiles-help)
  322.     (source dist-mui-dir)
  323.     (dest mui-assign)
  324.     (all)
  325.     (infos)
  326.     (optional "nofail"))
  327. )
  328.  
  329.  
  330.  
  331. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  332. ;; 
  333. ;; arguments:
  334. ;;
  335. ;; uus::commands - commands to add
  336. ;; uus::section  - section name
  337. ;;
  338. (procedure update-user-startup
  339.  
  340.  (set uus::complete (cat ";BEGIN " uus::section "\n"
  341.     uus::commands
  342.     ";END " uus::section "\n"))
  343.  
  344.  (set startup-changed 1)
  345.  (startup
  346.     uus::section
  347.     (command uus::commands)
  348.     (prompt "Installer will modify your S:User-Startup file. "
  349.         "Following lines will be appended to it:\n\n"
  350.         uus::complete)
  351.     (help "   Installer needs to make indicated modifications to "
  352.         "your user startup file.\n"
  353.         "   You should make modifications later by hand if you skip this part.")
  354.  )
  355. )
  356.  
  357.  
  358.  
  359. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  360.  
  361. (procedure install-user-databases
  362.  
  363.  (transcript "Installing user databases")
  364.  
  365.  (procedure get-mufs-version
  366.     (set mufs-vernum    (getversion "multiuser.library" (resident)))
  367.     (set mufs-ver        (/ mufs-vernum 65536))
  368.     (set mufs-rev        (- mufs-vernum (* ver 65536)))
  369.  )
  370.  (procedure passwd-create
  371.     (copyfiles
  372.         (prompt "Copying " passwd-source " to AmiTCP:db/passwd.")
  373.                 (help @copyfiles-help)
  374.         (source passwd-source)
  375.         (dest conf-dir)
  376.         (newname "passwd")
  377.         (optional "nofail"))
  378.  )
  379.  (procedure group-create
  380.         (copyfiles
  381.          (prompt "Copying " group-source " to AmiTCP:db/group.")
  382.              (help @copyfiles-help)
  383.          (source group-source)
  384.          (dest conf-dir)
  385.          (newname "group")
  386.          (optional "nofail")))
  387.        
  388.  (set passwd-source    (tackon conf-dir "passwd-example"))
  389.  (set group-source    (tackon conf-dir "group-example"))
  390.  (if (>= @user-level 2)
  391.     (message "\nCopying user database from file\n\n\"" passwd-source "\"\n\n"
  392.         "and group database from file\n\n\"" group-source "\"\n\n")
  393.  )
  394.  (passwd-create)
  395.  (group-create)
  396. )
  397.  
  398. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  399.  
  400. (procedure set-must-reboot
  401.  
  402.  (if (<> (getversion "netinfo.device" (resident)) 0)
  403.     ((set netinfo-temp-file "t:netinfo-expunge-script")
  404.         (textfile (dest netinfo-temp-file)
  405.             (append (cat 
  406.                 "failat 5000\n"
  407.                 "avail flush >nil:\n"
  408.                 "avail flush >nil:\n")
  409.             )
  410.             (safe)
  411.         )
  412.     (execute netinfo-temp-file))
  413.  )
  414.  (set netinfo-version (getversion "netinfo.device" (resident)))
  415.  (if (AND (<> netinfo-version 0) (< netinfo-version 4))
  416.     ((set must-reboot-after-install 1)
  417.     (message "You seem to have some parts of an old " atcp-name 
  418.         " installation running.  Because of this the user "
  419.         "database updating will have no effect before you reboot "
  420.         "your Amiga.\n\nFor this reason you _must_ reboot after the installation "
  421.         "and before the \"AmiTCP Prefs\" is run.")
  422.     )
  423.  )
  424. )
  425.  
  426. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  427. ;;;
  428. ;;; Ask which parts to install
  429. ;;;
  430. ;;; on return following variables will have boolean values:
  431. ;;;
  432. ;;;  do-install-netconnect
  433. ;;;  do-install-provider
  434. ;;;  do-install-amitcp
  435. ;;;  do-install-mui
  436. ;;;
  437. (procedure ask-install-options
  438.  (set install-options-bitmap
  439.     (askoptions
  440.         (prompt "Select parts to install:\n\nSee the help for explanation on each item.")
  441.         (choices "NetConnect"
  442.             "Provider configuration files"
  443.             "AmiTCP/IP"
  444.             "MUI 3.8")
  445.         (default %1111)
  446.         (help "NetConnect:\n"
  447.             "Tools for launching Internet applications and for configuring AmiTCP/IP easily with a GUI.\n\n"
  448.             "Provider configuration files:\n"
  449.             "Predefined provider configurations. Makes configuration of AmiTCP a lot easier.\n\n"
  450.             "AmiTCP/IP:\n"
  451.             "The AmiTCP/IP protocol stack. This includes binaries, documentation, help files and example configuration files.\n\n"
  452.             "MUI 3.7:\n"
  453.             "The Magic User Interface by Stefan Stuntz. It is required for NetConnect to work.\n\n")
  454.     )
  455.  
  456.     do-install-netconnect    (in install-options-bitmap 0)
  457.     do-install-provider    (in install-options-bitmap 1)
  458.     do-install-amitcp    (in install-options-bitmap 2)
  459.     do-install-mui        (in install-options-bitmap 3)
  460.   )
  461. )
  462.  
  463.  
  464. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  465. (procedure install-netconnect
  466.  
  467.  (transcript "Selecting destination directory for the installation of NetConnect.")
  468.  (set netconnect-dest (askdir
  469.         (prompt "Select directory where to install " app-name ".\n A drawer called NetConnect will be created\n You need 9MB+ of free space to install NetConnect")
  470.         (help "Here you can specify the location where to install the " app-name ".\n"
  471.             "Installer will create a subdirectory called `"
  472.             netconnect-dir "' in the selected directory and copy the " @app-name " files to it.")
  473.         (newpath)
  474.         (default @default-dest)
  475.  ))
  476.  (textfile (dest (tackon netconnect-dest (cat netconnect-dir ".info")))
  477.     (include (tackon install-disk "info.netconnect")))
  478.  (set netconnect-dest (tackon netconnect-dest netconnect-dir))
  479.  (makedir netconnect-dest)
  480.  (makeassign netconnect-name netconnect-dest)
  481.  (set @default-dest netconnect-dest)
  482.  
  483.  (copy-netc-files-to-destination)
  484.  
  485.  (install-programs)
  486.  
  487.  (set uus::commands (cat "assign " netconnect-assign " \"" netconnect-dest "\"\nrun RexxMast <>nil:\n"))
  488.  (set uus::section "NetConnect")
  489.  (update-user-startup)
  490. )
  491.  
  492.  
  493.  
  494. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  495. (procedure install-provider
  496.  
  497.  (transcript "Copying provider files.")
  498.  
  499.  (set tmp-var (tackon netconnect-assign "Data/Providers"))
  500.  (if (NOT (= 2 (exists tmp-var)))
  501.     (makedir tmp-var))
  502.  (copyfiles
  503.     (prompt "Please select the countries you would like to install the provider configuration files for\n\n")
  504.     (help "You should at least select the country you live in.")
  505.     (source (tackon dist-data-dir "Providers"))
  506.     (dest tmp-var)
  507.     (pattern "#?")
  508.     (confirm "average")
  509.     (optional "nofail" "force"))
  510. )
  511.  
  512.  
  513.  
  514. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  515. (procedure copy-old-prefs
  516.  
  517.  (if (askbool
  518.    (prompt "Would you like to copy the preference and data files from your old installation ?\n(AmTelnet, AmTerm, Microdot-II and Voyager)")
  519.    (help "If you accept it is likely that you can continue using the programs with your old settings. You wouldn't have to copy / move any files yourself.")
  520.    (default 1))
  521.    (
  522.      (if (= 2 (exists (tackon old-netconnect-directory "Programs/AmTelnet")))
  523.      (
  524.        (copyfiles
  525.           (prompt "Copy old AmTelnet preferences")
  526.           (help @copyfiles-help)
  527.           (source (tackon old-netconnect-directory "Programs/AmTelnet"))
  528.           (pattern ".amtelnet#?")
  529.           (dest (tackon netconnect-assign "Programs/AmTelnet"))
  530.           (infos)
  531.           (optional "nofail")
  532.        )
  533.        (copyfiles
  534.           (prompt "Copy old AmTelnet preferences")
  535.           (help @copyfiles-help)
  536.           (source (tackon old-netconnect-directory "Programs/AmTelnet"))
  537.           (pattern "#?.Prefs")
  538.           (dest (tackon netconnect-assign "Programs/AmTelnet"))
  539.           (infos)
  540.           (optional "nofail")
  541.        )
  542.      ))
  543.      (if (= 2 (exists (tackon old-netconnect-directory "Programs/AmTerm")))
  544.      (
  545.        (copyfiles
  546.           (prompt "Copy old AmTerm preferences")
  547.           (help @copyfiles-help)
  548.           (source (tackon old-netconnect-directory "Programs/AmTerm"))
  549.           (pattern ".AmTerm#?")
  550.           (dest (tackon netconnect-assign "Programs/AmTerm"))
  551.           (infos)
  552.           (optional "nofail")
  553.        )
  554.        (copyfiles
  555.           (prompt "Copy old AmTerm preferences")
  556.           (help @copyfiles-help)
  557.           (source (tackon old-netconnect-directory "Programs/AmTerm"))
  558.           (pattern "#?.Prefs")
  559.           (dest (tackon netconnect-assign "Programs/AmTerm"))
  560.           (infos)
  561.           (optional "nofail")
  562.        )
  563.      ))
  564.      (if (= 2 (exists (tackon old-netconnect-directory "Programs/Microdot-II")))
  565.      (
  566.        (copyfiles
  567.           (prompt "Copy old Microdot-II preferences & data")
  568.           (help @copyfiles-help)
  569.           (source (tackon old-netconnect-directory "Programs/Microdot-II"))
  570.           (pattern "Data#?")
  571.           (dest (tackon netconnect-assign "Programs/Microdot-II"))
  572.           (infos)
  573.           (optional "nofail")
  574.        )
  575.        (copyfiles
  576.           (prompt "Copy old Microdot-II preferences & data")
  577.           (help @copyfiles-help)
  578.           (source (tackon old-netconnect-directory "Programs/Microdot-II"))
  579.           (pattern "#?.prefs")
  580.           (dest (tackon netconnect-assign "Programs/Microdot-II"))
  581.           (infos)
  582.           (optional "nofail")
  583.        )
  584.        (copyfiles
  585.           (prompt "Copy old Microdot-II preferences & data")
  586.           (help @copyfiles-help)
  587.           (source (tackon old-netconnect-directory "Programs/Microdot-II"))
  588.           (pattern "#?.Addressbook")
  589.           (dest (tackon netconnect-assign "Programs/Microdot-II"))
  590.           (infos)
  591.           (optional "nofail")
  592.        )
  593.      ))
  594.      (if (= 2 (exists (tackon old-netconnect-directory "Programs/Voyager")))
  595.      (
  596.        (copyfiles
  597.           (prompt "Copy old Voyager preferences")
  598.           (help @copyfiles-help)
  599.           (source (tackon old-netconnect-directory "Programs/Voyager"))
  600.           (pattern "Bookmarks.#?")
  601.           (dest (tackon netconnect-assign "Programs/Voyager"))
  602.           (infos)
  603.           (optional "nofail")
  604.        )
  605.        (copyfiles
  606.           (prompt "Copy old Voyager preferences")
  607.           (help @copyfiles-help)
  608.           (source (tackon old-netconnect-directory "Programs/Voyager"))
  609.           (pattern "#?.prefs")
  610.           (dest (tackon netconnect-assign "Programs/Voyager"))
  611.           (infos)
  612.           (optional "nofail")
  613.        )
  614.      ))
  615.    )
  616.  )
  617. )
  618.  
  619.  
  620.  
  621. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  622. (procedure install-programs
  623.  
  624.  (copyfiles
  625.     (prompt "Copying programs to:\n\n" (tackon netconnect-assign "Programs"))
  626.     (help @copyfiles-help)
  627.     (source install-disk)
  628.     (dest netconnect-assign)
  629.     (choices "Programs")
  630.     (infos)
  631.     (optional "nofail"))
  632.  
  633.   (if old-netconnect-directory (copy-old-prefs))
  634. )
  635.  
  636.  
  637.  
  638. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  639. (procedure install-amitcp
  640.  
  641.  (transcript "Selecting destination directory for the installation of AmiTCP.")
  642.  (set atcp-dest (if (= @user-level 2)
  643.     (askdir
  644.       (prompt "Select directory where to install " atcp-name ".")
  645.       (help "Here you can specify the location where to install " atcp-name ".\n"
  646.             "Installation must NOT be made on top of an older version of " atcp-name ".\n"
  647.             "Installer will create a subdirectory called `" atcp-dir "' to the selected "
  648.             "directory and copy the " atcp-name " files to it.\n\nIt is suggested that you select the just"
  649.             " created direcotry \"" @default-dest "\" so the AmiTCP files are within the NetConnect Package.")
  650.       (newpath)
  651.       (default @default-dest)
  652.     )
  653.     (@default-dest))
  654.  )
  655.  (textfile (dest (tackon atcp-dest (cat atcp-dir ".info")))
  656.     (include (tackon install-disk "AmiTCP.info"))
  657.  (set atcp-dest (tackon atcp-dest atcp-dir)))
  658.  (makedir atcp-dest)
  659.  
  660.  (makeassign atcp-name atcp-dest)
  661.  (if (NOT (= 2 (exists (tackon atcp-assign "devs"))))
  662.   (makedir (tackon atcp-assign "devs")))
  663.  
  664.  
  665.  (copy-atcp-files-to-destination)
  666.  
  667.  
  668.  (set uus::commands (cat "assign " atcp-assign " \"" atcp-dest "\"\n"
  669.                          "path " bin-dir " add\n"
  670.                          "Assign APIPE: Exists > NIL:\n" 
  671.                          "IF Warn\n"
  672.                          "  Mount APIPE: from AmiTCP:devs/APipe-Mountlist\n"
  673.                          "EndIf\n"))
  674.  (set uus::section "AmiTCP/IP")
  675.  (update-user-startup)
  676.  
  677.  
  678.  (set 
  679.   unpkt-source        NapsaFonts-pkt-file
  680.   unpkt-destination    "Fonts:"
  681.   unpkt-sdp        1
  682.   unpkt-title-name    "NapsaTerm fonts"
  683.   unpkt-title-not    "NapsaTerm special fonts"
  684.  )
  685.  (run-unpkt)
  686.  
  687.  
  688.  (transcript "Updating Sana-II device drivers.")
  689.  
  690.  (if (NOT (= 2 (exists "DEVS:Networks")))
  691.    (makedir "DEVS:Networks"))
  692.  
  693.  (working "Checking Sana-II device drivers...")
  694.  
  695.  (if (= 2 (exists dist-networks-dir))
  696.    (foreach dist-networks-dir "#?.device"
  697.      (copylib
  698.        (prompt "Copying " @each-name " to:\n\nDEVS:Networks")
  699.        (help @copylib-help)
  700.        (source (tackon dist-networks-dir @each-name))
  701.        (dest "DEVS:Networks")
  702.        (infos)
  703.        (optional "force")
  704.        (confirm)
  705.      )
  706.    )
  707.    (message "No Sana-II drivers found on the installation disk")
  708.  )
  709. )
  710.  
  711.  
  712.  
  713. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  714. (procedure install-mui
  715.  
  716.  (transcript "Selecting destination directory for the installation of MUI.")
  717.  (set mui-dest
  718.    (askdir
  719.      (prompt "Select directory where to install " mui-name ".\nA drawer called MUI will be created")
  720.      (help "Here you can specify the location where to install " mui-name ".\n"
  721.            "Installer will create a subdirectory called `" mui-dir "' to the selected "
  722.            "directory and copy the " mui-name " files to it.")
  723.      (newpath)
  724.      (default "SYS:")
  725.    )
  726.  )
  727.  (if (exists (tackon mui-dest mui-dir))
  728.    ((message "The drawer \"MUI\" already exists in the selected directory.\nIt will be renamed to \"MUI.old\".")
  729.     (rename (tackon mui-dest mui-dir) (cat (tackon mui-dest mui-dir) ".old")
  730.       (prompt "renaming old MUI dir")
  731.       (help @rename-help))
  732.    ))
  733.  
  734.  (textfile (dest (tackon mui-dest (cat mui-dir ".info")))
  735.     (include "info.mui"))
  736.  (set mui-dest (tackon mui-dest mui-dir))
  737.  (makedir mui-dest)
  738.  (makeassign mui-name mui-dest)
  739.  
  740.  (copy-mui-files-to-destination)
  741.  
  742.  (set mui-script "t:mui-script")
  743.  (textfile 
  744.    (dest mui-script)
  745.    (append "assign MUI: " mui-dest "\n"
  746.            "assign LIBS: " (tackon mui-dest "Libs") " ADD\n"
  747.            "assign LOCALE: " (tackon mui-dest "Locale") " ADD\n")
  748.    (safe))
  749.  (protect mui-script "+s +e")
  750.  (execute mui-script)
  751.  
  752.  (set uus::commands (cat "assign " mui-assign " \"" mui-dest "\"\n"
  753.                          "assign LIBS: \"" (tackon mui-assign "Libs") "\" ADD\n"
  754.                          "assign LOCALE: \"" (tackon mui-assign "Locale") "\" ADD\n"))
  755.  (set uus::section "MUI")
  756.  (update-user-startup)
  757. )
  758.  
  759.  
  760. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  761. ;;;
  762. ;;; Installatation sequence
  763. ;;;
  764.  
  765. ;; Initialize "global" variables to default values (not complete)
  766. ;;
  767. (set
  768.  startup-changed        0
  769.  must-reboot-after-install    0
  770.  uus::commands            ""
  771. )
  772.  
  773. (complete 00) (transcript "On making " app-name ".")
  774. (complete 02) (check-system-version)
  775. (complete 03) (check-old-assign)
  776. (complete 04) (check-cpu-type)
  777.  
  778. (set @default-dest (if (= 2 (exists "Work:" (noreq)))
  779.    "Work:" 
  780.    (cat (getdevice "SYS:") ":")))
  781.  
  782. (complete 5) (ask-install-options)
  783. (complete 10) (if do-install-netconnect    (install-netconnect))
  784. (complete 30) (if do-install-provider    (install-provider))
  785. (complete 40) (if do-install-amitcp    (install-amitcp))
  786. (complete 50) (if do-install-mui    (install-mui))
  787. (complete 80) (if do-install-netconnect ((message "Configuring AmiTCP") (run "NetConnect:AmiTCPPrefs")))
  788.  
  789. (complete 90)
  790. (if do-install-amitcp    ;; Ask if old configuration should be copied
  791.   ((set-must-reboot)
  792.    (if (exists (tackon conf-dir "passwd"))
  793.      (transcript "There is already a user database.")
  794.      ((complete 95) (install-user-databases)))
  795.   )
  796. )
  797.  
  798. (complete 100)
  799. (exit (if startup-changed 
  800.   (cat "You should reboot your Amiga to enable the changes made to system startup files."))
  801.   (if must-reboot-after-install
  802.     (cat "\nYou MUST reboot before configuring " atcp-name ". Start \"AmiTCP Prefs\" from WorkBench after the reboot "
  803.          "to configure your new " atcp-name " installation.\n")
  804.   )
  805. )
  806. ;; EOF
  807. ;;
  808.